# Author:sp
# CreaTime: $(DATE)
# FileName: $(NAME)
# Description: simple introdution of the code
'''
try except 语句的执行流程如下：
首先执行 try 中的代码块，如果执行过程中出现异常，系统会自动生成一个异常类型，并将该异常提交给 Python 解释器，此过程称为捕获异常。
当 Python 解释器收到异常对象时，会寻找能处理该异常对象的 except 块，如果找到合适的 except 块，则把该异常对象交给该 except 块处理，
这个过程被称为处理异常。
如果 Python 解释器找不到处理异常的 except 块，则程序运行终止，Python 解释器也将退出
事实上，不管程序代码块是否处于 try 块中，甚至包括 except 块中的代码，只要执行该代码块时出现了异常，系统都会自动生成对应类型的异常。
但是，
如果此段程序没有用 try 包裹，又或者没有为该异常配置处理它的 except 块，则 Python 解释器将无法处理，程序就会停止运行；反之，
如果程序发生的异常经 try 捕获并由 except 处理完成，则程序可以继续执行
'''
try:
    a=int(input('请输入第一个整数：'))
    b=int(input('请输入第二个整数：'))
    result=a/b
except BaseException as e:
    print('出错了')
    print(e)
else:
    print('结果为',result)
finally:
    print('武林')
    print('程序结束')
#获取特定异常的有关信息
# 其实，每种异常类型都提供了如下几个属性和方法，通过调用它们，就可以获取当前处理异常类型的相关信息：
# args：返回异常的错误编号和描述字符串；
# str(e)：返回异常信息，但不包括异常信息的类型；
# repr(e)：返回较全的异常信息，包括异常信息的类型
try:
    1/0
except Exception as e:
    # 访问异常的错误编号和详细信息
    print(e.args)
    print(str(e))
    print(repr(e))